iT邦幫忙

2024 iThome 鐵人賽

0

java.time是JDK8以後引入的日期相關API,主要是用來解決過去在使用DateCalendar 中存在的一些問題

過去遇到的問題

  • 可變性
  • 偏移量
  • SimpleFormat格式化只針對DateCalendar 不可以使用

java.time 中常用的幾個類:

  1. LocalDate
  2. LocalTime
  3. LocalDateTime

靜態方法:

  • now() :依照類的名稱可以得到對應的日期、時間、日期和時間
  • of(xx , xx, xx, xx...) :依照類的名稱可以將物件設定為of 參數所寫的日期、時間、日期和時間
  • getXXX() :獲取對應的xxx ,如當月第幾天,當年第幾天等等
  • withXXX() :返回一個物件,將原本所設定的日期、時間等進行修改,原本物件所設定的日期時間不會被修改。(Calendar 類使用setXXX() 時,會將實例化所設定的日期時間改變,可能會造成不必要的錯誤)
  • plusXXX() :返回一個物件,將原本所設定的日期、時間等加上一個值,原本物件所設定的日期時間不會被修改
  • minusXXX() :返回一個物件,將原本所設定的日期、時間等減去一個值,原本物件所設定的日期時間不會被修改

  1. Instant :類似於Date 類,主要用於時間戳

靜態方法:

  • now() :返回一個基於格林威治標準時間 設定的物件
  • ofEpochMilli(long xxx) :返回一個基於參數 設定的毫秒數所對應的時間
  • toEpochMilli() :返回Instant 實例化物件的毫秒數的值(long 類型)

  1. DateTimeFormatter :類似SimpleDateFormat ,將日期時間和字串間進行轉換,主要對於LocalDate LocalTime LocalDateTime 三個類

靜態方法:

  • ofPattern("yyyy-MM-dd HH:mm:ss") :依照參數的字串,將日期時間轉換成指定格式
  • format(日期時間物件) :返回一個對應參數日期時間的字串,參數需放符合ofPattern 格式的日期時間物件,
  • parse(String xxx) :返回一個TemporalAccessor 類型的物件(TemporalAccessor 是接口),LocalDate LocalTime LocalDateTime 都有將TemporalAccessor 實現

上一篇
Day36-Date、Calendar
下一篇
Day38-Comparable、Comparator
系列文
前端工程師的java學習紀錄41
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言